1
Définition des pointeurs intelligents et des métadonnées
AI034Lesson 15
00:00

Un Pointeur intelligent est une structure de données abstraite qui agit comme un pointeur mais transporte des métadonnées et une logique pour gérer les données auxquelles il pointe. Alors qu'une référence standard (&T) n'est qu'une adresse mémoire simple—un « pointeur bête »—alors que le modèle de pointeur intelligent en Rust utilise des structures pour encapsuler les pointeurs avec des règles personnalisées pour la propriété, le contrôle d'accès et la suppression automatique.

L'avantage des métadonnées

Imaginez une référence standard comme une Clé de maison basique: elle permet l'accès, mais rien d'autre. Un pointeur intelligent est un Système de carte-clé; la carte stocke des métadonnées (historiques d'accès, autorisations, expiration) et peut verrouiller automatiquement la porte (nettoyage) en partant.

Référence régulière (&T)[ Adresse ]Pointeur intelligent (Box/Rc)Métadonnées : nombre de références / Longueur[ Adresse ]Ferris 🦀 ? Erreur : la possession multiple échoue ici !let z = x; let y = &x; // Manque de métadonnées

La logique fondamentale

En Rust, les pointeurs intelligents sont définis en implémentant les traits Deref et Drop Cela leur permet de se comporter comme des références tout en exécutant une logique personnalisée lorsqu'elles sont accédées ou détruites.

$$\text{Pointeur} + \text{Métadonnées} + \text{Traits Deref/Drop} = \text{Pointeur intelligent}$$
main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>